import _ from 'lodash';
/**
 * @desc 根据pid返回树形结构
 * @param {array} list 需要转换的数据
 * @return {arrayTree} 返回树形结构
 * */

export function getTreeData(list) {
    function getTrees(pid = '-1') {
        if (pid === '-1') {
            // 如果没有父id（第一次递归的时候）将所有父级查询出来
            return list.filter(item => item.menuParentId === '-1').map(item => {
                // 通过父节点ID查询所有子节点
                item.key = item.storeMenuId
                if (getTrees(item.storeMenuId).length) {
                    item.children = getTrees(item.storeMenuId)
                }
                return item
            })
        } else {
            return list.filter(item => item.menuParentId === pid).map(item => {
                // 通过父节点ID查询所有子节点
                item.key = item.storeMenuId
                if (getTrees(item.storeMenuId).length) {
                    item.children = getTrees(item.storeMenuId)
                }
                return item
            })
        }
    }
    let arr = getTrees()
    return arr;
}

export function getTreeData1(list) {
    function getTrees(pid = '-1') {
        if (pid === '-1') {
            // 如果没有父id（第一次递归的时候）将所有父级查询出来
            return _.filter(list, (item, key) => item.menuParentId === '-1').map(item => {
                // 通过父节点ID查询所有子节点
                item.key = item.storeMenuId
                if (getTrees(item.storeMenuId).length) {
                    item.children = getTrees(item.storeMenuId)
                }
                return item
            })
        } else {
            return list.filter(item => item.menuParentId === pid).map(item => {
                // 通过父节点ID查询所有子节点
                item.key = item.storeMenuId
                if (getTrees(item.storeMenuId).length) {
                    item.children = getTrees(item.storeMenuId)
                }
                return item
            })
        }
    }
    let arr = getTrees()
    return arr;
}